package com.ruibang.glass.material.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.ruibang.glass.material.domain.req.ContainerManagerReq;
import com.ruibang.glass.material.domain.req.MaterialKineSideWareHouseReq;
import com.ruibang.glass.material.dto.RqStatusStaticsAllDTO;
import com.ruibang.glass.material.dto.RqStatusStaticsDTO;
import com.ruibang.glass.material.dto.WareHouseAndLocation;
import com.ruibang.glass.material.dto.WareHouseInfoDTO;
import com.ruibang.glass.material.entity.GlassContainerManager;
import com.ruibang.glass.material.entity.MaterialLineSideWarehouseLocation;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 线边仓库位表 服务类
 * </p>
 *
 * @author mameng
 * @since 2024-04-07
 */
public interface MaterialLineSideWarehouseLocationService extends IService<MaterialLineSideWarehouseLocation> {
    /**
     * 全表
     * @param
     * @return
     */
    IPage<MaterialLineSideWarehouseLocation> getPage(MaterialKineSideWareHouseReq materialKineSideWareHouseReq);

    /**
     * 跟新
     * @param
     * @return
     */
    void updateMaterialLineSideWarehouseLocation(MaterialLineSideWarehouseLocation materialLineSideWarehouseLocation);

    /**
     * 获取所有仓库
     * @param
     * @return
     */
    List<WareHouseAndLocation> getAllWareHouseAndLocation();
    /**
     * 仓库编码
     * @param
     * @return
     */
    List<WareHouseInfoDTO> getAllWareHouseInfoDTO();

    List<WareHouseInfoDTO> getLocationItemList();

    List<RqStatusStaticsAllDTO> getRqStatus();

    List<RqStatusStaticsDTO> getRqStatusList(MaterialKineSideWareHouseReq materialKineSideWareHouseReq);

    List<MaterialLineSideWarehouseLocation> getLocationList(MaterialKineSideWareHouseReq materialKineSideWareHouseReq);
}
